<?php

class UserController extends Zend_Controller_Action
{
    /**
     * @var Managers
     */
    protected $_manager;
    protected $_managerUsers;
    protected $_managerUserInfo;
    protected $_managerPhones;
    protected $_managerHousing;

    public function init()
    {
       $this->_managerUserInfo = new Managers\UserInfo();
       $this->_managerUsers = new Managers\Users();
       $this->_manager = new Managers\Areas();
       $this->_managerPhones = new Managers\Phones();
       $this->_managerHousing = new Managers\Housing();

       $this->view->date = new Helper_Date;
       $this->view->cutstr = new Helper_CutStr;
       $this->view->phonecode = new Helper_PhoneCode;
       $this->view->areas = new Helper_Areas;
       $this->view->metro = new Helper_Metro;

       $this->view->items_new = $this->_managerHousing->getNew();
    }

    public function profileAction()
    {
        $id = $this->_getParam('id', 0);
        $this->view->item = $this->_managerUserInfo->getOne($id);
        $this->view->phones = $this->_managerPhones->getOne($id);
        $this->view->phonecode = new Helper_PhoneCode;
        $this->view->areas = new Helper_Areas;
    }

    public function authAction()
    {
        // проверяем, авторизирован ли пользователь
        if (Zend_Auth::getInstance()->hasIdentity()) {
            // если да, то делаем редирект, чтобы исключить многократную авторизацию
            $this->_helper->redirector('index', 'index');
        }

      // Если к нам идёт Post запрос
        if ($this->getRequest()->isPost()) {
            // Принимаем его

                // получаем введённые данные
                $email = $this->getRequest()->getPost('email');
                $password = md5($this->getRequest()->getPost('password'));


                $authAdapter = new Adapter_Auth_Doctrine2($email, $password);
                $inf = $authAdapter->getResultRowObject();

                // получаем экземпляр Zend_Auth
                $auth = Zend_Auth::getInstance();

                // делаем попытку авторизировать пользователя
                $result = $auth->authenticate($authAdapter);

                if ($result->isValid()) {
	                // используем адаптер для извлечения оставшихся данных о пользователе
	                $identity = $authAdapter->getResultRowObject();

	                // получаем доступ к хранилищу данных Zend
	                $authStorage = $auth->getStorage();

	                // помещаем туда информацию о пользователе,
	                // чтобы иметь к ним доступ при конфигурировании Acl

                        $role=array('role'=>'admin','name'=>$identity['name'],'id'=>$identity['id']);

	                $authStorage->write($role);

                        // Используем библиотечный helper для редиректа
	                // на controller = index, action = index
	                $this->_helper->redirector('index', 'index');
                } else {
	                $this->view->errMessage = 'Вы ввели неверное имя пользователя или неверный пароль';
                }
         }
}

    public function registrationAction()
    {
       // проверяем, авторизирован ли пользователь
        if (Zend_Auth::getInstance()->hasIdentity()) {
            // если да, то делаем редирект, чтобы исключить многократную авторизацию
            $this->_helper->redirector('index', 'index');
        }
        
       $this->view->items = $this->_manager->getAll();
    }

    public function registAction()
    {
      echo DOCUMENT_ROOT;
      // Если к нам идёт Post запрос
        if ($this->getRequest()->isPost()) {
            
            // Принимаем его
            $formData = $this->getRequest()->getPost();

            //$CheckReg = new Helper_CheckReg;
           // $error = $CheckReg->check($formData);
            
            //if(empty($error)){
                //$request = $this->getRequest();
               echo"<pre>";
               print_r($_SESSION['files']);
               echo"</pre>";
                //$formData['id'] = $this->_managerUsers->AddUser($formData);
                //$LoadFiles = new Helper_LoadFiles;
                //$LoadFiles->load('avatar');
                //$this->_managerUserInfo->AddUser($formData);
                //$this->_managerPhones->AddPhone($formData);

                $this->view->status = "<p>Користувач зареєстрований</p>";
            //}else{
            //    $this->view->status = $error;
            //}
      }
    }

    public function uploadAction(){
        $_SESSION['files'] = $_FILES;
        //$LoadFiles->load('avatar');
    }


    public function logoutAction()
    {
        // уничтожаем информацию об авторизации пользователя
        Zend_Auth::getInstance()->clearIdentity();

        // и отправляем его на главную
        $this->_helper->redirector('index', 'index');
    }


}

